<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<body>
  <div id="host"></div>
  <div id="bodyChild"></div>
</body>
<script>
function colorFor(elem) {
  return document.defaultView.getComputedStyle(elem, '').color;
}

async_test((test) => {
  let link = document.createElement('link');
  link.setAttribute('rel', 'stylesheet');
  link.setAttribute('href', 'data:text/css,div { color: green }');
  link.addEventListener("load", test.step_func_done(() => {
      assert_equals(colorFor(bodyChild), 'rgb(0, 0, 0)', 'An element in a document tree should not be styled.');
      assert_equals(colorFor(shadowChild), 'rgb(0, 128, 0)', 'An element in a shadow tree should be styled.');
  }));
  let sr = host.attachShadow({ mode: 'open' });
  let shadowChild = document.createElement('div');
  sr.appendChild(shadowChild);
  sr.appendChild(link);
}, '<link rel=stylesheet> should load a stylesheet in a connected shadow tree.');
</script>
